<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>prototype</title>
<script type="text/javascript">
//1.	自定义一个数组的工具类。
function arrTool(){}
var ArrayTool  = new arrTool();
ArrayTool.getMax = function(arr)
{
	var max = 0;
	
	for(var x=1; x<arr.length; x++)
	{
		if(arr[x]>arr[max])
			max = x;
	}
	return arr[max];
};
ArrayTool.getMin = function(arr)
{
	var min = arr[0];
	
	for(var x=1; x<arr.length; x++)
	{
		if(arr[x]<min)
			min = arr[x];
	}
	return min;
}
/*
ArrayTool.getMax = getMax;
//获取最值。
function getMax(arr)
{
	var max = 0;
	
	for(var x=1; x<arr.length; x++)
	{
		if(arr[x]>arr[max])
			max = x;
	}
	return arr[max];
}
*/
ArrayTool.binarySearch = function(arr,key)
{
	var min,max,mid;
	
	min = 0;
	max = arr.length-1;
	
	while(min<=max)
	{
		mid  = (min+max)>>1;
		
		if(key>arr[mid])
			min = mid + 1;
		else if(key<arr[mid])
			max = mid - 1;
		else
			return mid;
	}
	return -1;
}
ArrayTool.binarySearch = halfSearch;
//折半查找，必须是对有序的数组。
function halfSearch(arr,key)
{
	var min,max,mid;
	
	min = 0;
	max = arr.length-1;
	
	while(min<=max)
	{
		mid  = (min+max)>>1;
		
		if(key>arr[mid])
			min = mid + 1;
		else if(key<arr[mid])
			max = mid - 1;
		else
			return mid;
	}
	return -1;
}
//2.	把数组的工具方法添加到javascript内置对象Array中。

	Array.prototype.getIndex = function(element)
{
	for(var x=0; x<this.length; x++)
	{
		if(this[x]==element)
			return x;
	}
	return -1;
}
Array.prototype.getMin = function()
{
	var min = this[0];
	for(var x=1; x<this.length;x++)
	{
		if(this[x]<min)
			min = this[x];
	}
	return min;
}
//3.	给 字符串添加新的方法
// JavaScript Document
//给字符串string对象添加新功能。
//去除字符串两端的空格。
String.prototype.trim = function()
{
	var start,end;
	start = 0;
	end = this.length-1;
	
	while(start<=end && this.charAt(start)==" ")
		start++;
		
	while(start<=end && this.charAt(end)==' ')
		end--;
		
	return this.substring(start,end+1);
}

//将字符串变成数组。
String.prototype.toCharArray = function()
{
	var arr = new Array(this.length);
	
	for(var x=0; x<this.length; x++)
	{
		arr[x] = this.charAt(x);	
	}
	
	return arr;
}
//将字符串进行反转。
String.prototype.reverseString = function()
{
	var arr = this.toCharArray();	
	
	return arr.reverse().join("");
}



</script>
</head>
<body>

</body>
</html>